package com.zkq.graduate.service;

import com.zkq.graduate.pojo.StudentWithReport;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @Author zhangkaiqiang
 * @Date 2019/12/14  22:08
 * @Description TODO
 *
 * 学生上传 开题报告 毕业设计 毕业论文时写入一条记录
 */
public interface FileRecordService {

	/**
	 * 写入一条日志
	 * @param studentWithReport
	 * @return
	 */
	boolean insertOneRecord(@NotNull StudentWithReport studentWithReport);

	/**
	 *查找一个学生的毕业设计记录
	 * @param studentId
	 * @return
	 */
	List<StudentWithReport> findByStudentId(@NotNull String studentId);


	/**
	 * 教师查找学生的毕业设计记录，进行毕业设计审核
	 * @param teacherId
	 * @return
	 */
	List<StudentWithReport> findRecordByteacherId(@NotNull String teacherId);


	/**
	 * 通过学号删除学生的上传记录
	 * @param studentId
	 * @return
	 */
	int deleteByStudentId(@NotNull String studentId);


	/**
	 * 通过学号对记录进行更新
	 * @param student
	 * @return
	 */
	int updateByStudentId(@NotNull StudentWithReport student);

	/**
	 * 根据记录的id进行数据的更新
	 * @param student
	 * @return
	 */
	boolean updateLast(@NotNull StudentWithReport student);
}
